446103ff74d3598843ea22b1ff0b221635dc9b36,src/java/org/apache/cassandra/tools/NodeCmd.java,NodeCmd,printRing,#PrintStream#,86
Before Change
outs.print(String.format("%-7s", "Status"));
outs.print(String.format("%-8s", "State"));
outs.print(String.format("%-16s", "Load"));
outs.print(String.format("%-44s", "Token"));
outs.println();
// show pre-wrap token twice so you can always read a node's range as
// (previous line token, current line token]
if (sortedTokens.size() > 1)
outs.println(String.format("%-14s%-11s%-14s%-43s", "", "", "", sortedTokens.get(sortedTokens.size() - 1)));
for (Token token : sortedTokens) {
String primaryEndpoint = tokenToEndpoint.get(token);
outs.print(String.format("%-16s", primaryEndpoint));
String status =
liveNodes.contains(primaryEndpoint) ? "Up" :
deadNodes.contains(primaryEndpoint) ? "Down" :
"?";
outs.print(String.format("%-7s", status));
String state =
joiningNodes.contains(primaryEndpoint) ? "Joining" :
leavingNodes.contains(primaryEndpoint) ? "Leaving" :
"Normal";
outs.print(String.format("%-8s", state));
outs.print(String.format("%-16s", loadMap.containsKey(primaryEndpoint) ? loadMap.get(primaryEndpoint) : "?"));
outs.print(String.format("%-44s", token));
outs.println();
}
}
After Change
*
* @param outs the stream to write to
*/
public void printRing(PrintStream outs)
{
Map<Token, String> tokenToEndpoint = probe.getTokenToEndpointMap();
List<Token> sortedTokens = new ArrayList<Token>(tokenToEndpoint.keySet());
Collections.sort(sortedTokens);
Set<String> liveNodes = probe.getLiveNodes();
Set<String> deadNodes = probe.getUnreachableNodes();
Set<String> joiningNodes = probe.getJoiningNodes();
Set<String> leavingNodes = probe.getLeavingNodes();
Map<String, String> loadMap = probe.getLoadMap();
outs.printf("%-16s%-7s%-8s%-16s%-44s\n", "Address", "Status", "State", "Load", "Token");
// show pre-wrap token twice so you can always read a node's range as
// (previous line token, current line token]
if (sortedTokens.size() > 1)
outs.printf("%-14s%-11s%-14s%-43s\n", "", "", "", sortedTokens.get(sortedTokens.size() - 1));
for (Token token : sortedTokens)
{
String primaryEndpoint = tokenToEndpoint.get(token);
String status = liveNodes.contains(primaryEndpoint)
? "Up"
: deadNodes.contains(primaryEndpoint) ? "Down" : "?";
String state = joiningNodes.contains(primaryEndpoint)
? "Joining"
: leavingNodes.contains(primaryEndpoint) ? "Leaving" : "Normal";
String load = loadMap.containsKey(primaryEndpoint) ? loadMap.get(primaryEndpoint) : "?";
outs.printf("%-16s%-7s%-8s%-16s%-44s\n", primaryEndpoint, status, state, load, token);
}
}